//package com.fenghuajueli.module_home.model
//
//import android.content.Context
//import androidx.lifecycle.MutableLiveData
//import androidx.lifecycle.asLiveData
//import com.blankj.utilcode.util.LogUtils
//import com.blankj.utilcode.util.ToastUtils
//import com.fenghuajueli.lib_data.database.DaoUtils
//import com.fenghuajueli.lib_data.entity.db.StudyListInfoEntity
//import com.fenghuajueli.lib_data.entity.eventbus.EventEntity
//import com.fenghuajueli.libbasecoreui.utils.TimeUtils
//import com.fenghuajueli.libbasecoreui.viewmodel.BaseViewModel2
//import com.fenghuajueli.module_home.db.AppDatabase
//import com.fenghuajueli.module_home.db.ClockinPlanEntity
//import com.ijianji.module_study_list.constants.Constants
//import com.ijianji.module_study_list.utils.CalendarReminderUtils
//import kotlinx.coroutines.launch
//import org.greenrobot.eventbus.EventBus
//
//class ClockinModel : BaseViewModel2() {
//    val addStatusData = MutableLiveData<Boolean>()
//    val clockinPlanData = MutableLiveData<ClockinPlanEntity>()
//
//    fun addClockinPlan(context: Context, clockinPlanEntity: ClockinPlanEntity) =
//        launch(coroutineContext) {
//            showLoading("打卡计划创建中")
//            val isSuccess = AppDatabase.getInstance(context).clockinPlanDao()
//                .insertClockinPlanEntity(clockinPlanEntity) != -1L
//            addStatusData.postValue(isSuccess)
//            val entity = CalendarReminderUtils.addCalendarEvent(
//                context,
//                "打卡计划",
//                clockinPlanEntity.title,
//                Constants.REPEAT_MODE_NO,
//                TimeUtils.getLongTime(clockinPlanEntity.remindTime),
//                0
//            )
//            if (entity != null) {
//                DaoUtils.getStudyDaoManager().insertData(entity)
//            }
//            ToastUtils.showShort("创建完成")
//            hideLoading()
//        }
//
//    fun modifyClockinPlan(
//        context: Context,
//        clockinPlanEntity: ClockinPlanEntity,
//        studyListInfoEntity: StudyListInfoEntity
//    ) =
//        launch(coroutineContext) {
//            showLoading("打卡计划修改中")
//            val isSuccess = AppDatabase.getInstance(context).clockinPlanDao()
//                .updateClockinPlanEntity(clockinPlanEntity) != -1
//            addStatusData.postValue(isSuccess)
//            val success = CalendarReminderUtils.updateEvent(context, studyListInfoEntity)
//            if (success) {
//                DaoUtils.getStudyDaoManager().updateData(studyListInfoEntity)
//            }
//            ToastUtils.showShort("修改完成")
//            hideLoading()
//        }
//
//    fun modifyClockinPlan1(
//        context: Context,
//        clockinPlanEntity: ClockinPlanEntity
//    ) =
//        launch(coroutineContext) {
//            showLoading("打卡计划修改中")
//            AppDatabase.getInstance(context).clockinPlanDao()
//                .updateClockinPlanEntity(clockinPlanEntity)
//            ToastUtils.showShort("修改完成")
//            hideLoading()
//        }
//
//    fun queryClockinPlanByTime(context: Context, remindTime: String) = launch(coroutineContext) {
//        showLoading("打卡计划查找中")
//        clockinPlanData.postValue(
//            AppDatabase.getInstance(context).clockinPlanDao()
//                .queryDataByTime(remindTime)
//        )
//        hideLoading()
//    }
//
//    fun loadAllClockinPlan(context: Context) = AppDatabase.getInstance(context).clockinPlanDao()
//        .loadAllData().asLiveData(coroutineContext)
//
//}